package com.zhi_cloud_plat2.controller;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.zhi_cloud_plat2.common.PageResult;
import com.zhi_cloud_plat2.pojo.Items;
import com.zhi_cloud_plat2.pojo.TbItem;
import com.zhi_cloud_plat2.service.ItemService;

@Controller
@RequestMapping("/item") // 窄化请求，分类管理Controller
public class ItemsController{
	@Resource private ItemService itemService;
	
	@RequestMapping("/list")
	@ResponseBody
	//在链接中用get方法请求后台，url后？再加参数（如parame=value），只要能保证访问的方法中的参数名与请求名一致即可
	public PageResult getItemList(Integer page, Integer rows) {	
		PageResult result = itemService.getItemList(page, rows);
		return result;
	}

	
	
	

	/**
	 * 查询商品列表
	 * @return
	 */
	@RequestMapping(value="/queryItems",method={RequestMethod.POST,RequestMethod.GET})  // url名称与方法名一致
	public ModelAndView queryItems(){
		
		// 查询商品的列表信息
		// 构造商品信息数据
		// 实际开发：调用service查找 数据库，查询商品列表，这里使用静态数据模拟
		List<Items> itemsList = new ArrayList<Items>();
		//向list中填充静态数据
		
		Items items_1 = new Items();
		items_1.setName("联想笔记本");
		items_1.setPrice(6000f);
		items_1.setDetail("ThinkPad T430 联想笔记本电脑！");
		
		Items items_2 = new Items();
		items_2.setName("苹果手机");
		items_2.setPrice(5000f);
		items_2.setDetail("iphone6苹果手机！");
		
		itemsList.add(items_1);
		itemsList.add(items_2);
		
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.addObject("itemsList", itemsList);
		modelAndView.setViewName("/items/itemsList");
		
		return modelAndView;
	}
	@RequestMapping("/queryItemById/{itemId}")
	@ResponseBody//返回的数据不是html标签的页面，而是其他某种格式的数据时（如json、xml等）使用
	public TbItem getItemById(Model model,@PathVariable Long itemId){
		TbItem item = itemService.getItemById(itemId);
		return item;
	}

	

}